package com.njmaomao.gj.pyot.repository;

import com.njmaomao.gj.pyot.domain.model.PayRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 支付记录表CURD数据库操作类
 */
@Repository
public interface PayRecordRepository extends JpaRepository<PayRecord, Long> {

    /**
     *通过订单号获取一条支付记录。每一个订单号只对应支付记录表的一条记录
     * @param orderCode  订单编辑
     * @return
     */
    PayRecord findByOrderCode(String orderCode);

    /**
     *通过支付流水号获取一条支付记录。每一个订单号只对应支付记录表的一条记录
     * @param tradeNo  支付流水号
     * @return
     */
    PayRecord findByTradeNo(String tradeNo);

    /**
     *
     * @param orderCode
     * @param status
     */
    @Query("UPDATE PayRecord SET status=:status WHERE orderCode=:orderCode")
    void updateStatus(@Param("orderCode") String orderCode, @Param("status") Integer status);

    List<PayRecord> findByCustomerIdAndStatus(Long customerId, Integer status);
}
